The present invention relates to the field of computer networks. Specifically, the present invention discloses a method of locating a desired service on a workstation that is dynamically assigned an address.
A current computer system paradigm is the client-server model. In the client-server model, a server is a program that makes information and/or a service available on a computer network. A client program accesses the information and/or service from the server program across the computer network.
An example of a client-server system is the World-Wide-Web (WWW) on the global Internet. The World-Wide-Web is a set of WWW servers on the global Internet that provide hypertext markup-language (html) documents using the hypertext transport protocol (http). WWW client programs, commonly called WWW browsers, access the html documents from the WWW servers and display the documents in graphical form on a local display.
To identify different computer systems on the global internet, each computer system is given a unique Internet Protocol (IP) address. Each IP address consists of four numbers where each number is less than 256 (four bytes). The four numbers of an internet address are commonly written out separated by periods such as 192.101.0.3
To simplify the addressing of servers on the global Internet, the xe2x80x9cDomain Name Systemxe2x80x9d was created. The domain name system allows users to access Internet resources with a more intuitive alphanumeric naming system. An Internet Domain name consists of a series of alphanumeric names separated by periods. For example, the name xe2x80x9cdrizzle.stanford.eduxe2x80x9d is the name for a computer in the physics department at Stanford University. Read from left to right, each name defines a subset of the name to the right. In this example, xe2x80x9cdrizzlexe2x80x9d is the name of a server in the xe2x80x9cstanfordxe2x80x9d domain. Furthermore, xe2x80x9cstanfordxe2x80x9d is a subset of the xe2x80x9ceduxe2x80x9d domain. When a domain name is used, the computer accesses a xe2x80x9cDomain Name Serverxe2x80x9d to obtain the explicit four byte IP address. The four byte IP address is then used to access the computer system.
There is a finite number of IP addresses available. Due to the explosive growth of the Internet, it has become more difficult to obtain internet addresses. Thus, methods of conserving IP addresses have been introduced. One method of conserving IP addresses is to share a limited pool of IP addresses among a large number of users. This technique is referred to as xe2x80x9cdynamic IP address allocationxe2x80x9d and the pool of IP addresses are known as xe2x80x9cdynamic IP addresses.xe2x80x9d One embodiment of the dynamic IP address allocation technique is the Dynamic Host Configuration Protocol (DHCP). The dynamic IP address allocation method is often used to allocate IP addresses to individual personal computer workstations that normally act only as clients.
In some situations, the user of a personal computer workstation may wish to make information or a service available to other computers coupled to the network. For example, a user may wish to provide a personal lo web page or provide groupware services. If the user of the personal computer workstation has a dynamically allocated IP address, then it will be difficult to consistently locate the information/service since the IP address will change. Thus, it would be desirable to have a method of consistently locating a server program located on a workstation that receives a dynamically allocated IP address.
It is therefore an object of the present invention to provide a method of locating a server program on a personal computer workstation that receives a dynamically allocated IP address. The method of the present invention operates by using a special server program and a special client program. To located a desired server program, the special client program sends out an xe2x80x9cAre you there?xe2x80x9d message to the last known IP address of the desired server. If the server responds, the client may directly access the server program using the last known IP address. However, if there is no response then the client program sends out a directed broadcast xe2x80x9cAre you there?xe2x80x9d message to the subnet where the desired server last resided. If the desired server receives the directed broadcast message, the server program responds with the current IP address such that the client program can access the server. If no response is received from the directed broadcast, the client program will send directed broadcast messages to other similar subnets in order to located the server program. Ordinary Domain Name Service is used as a back-up if no response is received.